1. Field of the Invention
The present invention generally relates to systems for business process outsourcing and more particularly to performing optimal business process composition using existing Web services to match business requirements.
2. Background Description
Business processes describe the procedures and rules a business entity must follow to meet its objectives. They specify the steps, tasks, and choreography needed to achieve a goal, place constraints on activities, and identify resources needed between a service requester and a service provider. A business process may include services that are local to the business's domain, or span across enterprise boundaries. Interactions between two or more parties may be composed of simple message exchanges, or can involve long running interactions requiring detailed process management.
Traditionally, a business analyst composes a business process by examining established business scenarios and producing a composition where predefined processes are typically integrated with a fixed set of back-end applications. Such process compositions are time-consuming. In addition, they are inadequate in a dynamic business environment as they do not account for variation, and they are often difficult to change. To stay competitive, companies must be agile in adapting their business processes to ever-changing market dynamics. There is an increasing need to create new or update existing business processes in an easier and more efficient way, tailored to business dynamics while facilitating integration with service providers.
The introduction of Web services paves the way for easier business process integration. (See Ron Schmelzer et al, XML and Web Services Unleashed, SAMS Publishing, 2002.) Web services are Internet-based modular, self-contained applications that encapsulate business functions. Using common and agreed standards, Web services are described and published in a common Universal Description Discovery and Integration (UDDI) directory, which can be dynamically discovered and invoked. Web services are not necessarily new applications; they are often wrappers for legacy applications to make them network accessible. Web services are most suitable in providing encapsulated business functions used as building blocks, enabling integration of business processes and applications.
Increasingly, Web services are being used to integrate heterogeneous applications in a distributed environment. Because Web services identify and connect to one another in a standard way, it is feasible to compose a set of existing Web services to form a business process, thus reducing the complexities of creating new business processes. Web services may also be used to implement business processes through the selection and binding of Web services to business process tasks.
To standardize the specification of business processes, several business process languages have been created. These languages embrace the utilization of Web services, in their functional ability to define processes, partners, task execution choreography, and fault handling. Examples of such languages are XLANG and Web Services Flow Language (WSFL), which have been superceded by Business Process Execution Language for Web Services (BPEL4WS). Additional languages include Web Service Choreography Interface and others jointly defined by major e-business companies (see E-business Process Modeling: The Next Big Step, Selim Aissi, Pallavi Malu, and Krishnamurthy Srinivasan, IEEE Computer, Vol. 35, No. 5, May 2002, pp. 55–62). With such business process languages, Web services provided by any intra-enterprise (e.g. an organizational department) or inter-enterprise entities (e.g. trading partners) can all cooperatively integrate and perform in a business process in a standard way.
Integration of Web services and business processes fosters collaboration with heterogeneous service providers and opens the door for new business opportunities. A major benefit of using Web services in adaptive business processes is their ability to be dynamically composed and to meet changing business requirements. Companies offering new business processes composed with Web services are responsive to new or changed market requirements, resulting in an effective way to control costs, improve profits, and create a competitive edge.
One of the key challenges of composing adaptive business processes is to select services that meet business needs. With Web services, any number of business services are published in a UDDI registry and located dynamically, thus increasing the choices of service providers and the complexity of the provider selection process. In this paradigm, a manual way of composing business process and service provider selection though a graphic user interface is unsuitable in a complex business scenario. Instead, an automated means of business process composition is required.
An important aspect when composing a new or updating an old business process is to meet the new and evolving business requirements. Unfortunately, current Web services based business process execution languages do not adequately accommodate detailed requirement specification, making it difficult to generate optimal business process compositions. In this aspect, there are several issues. First, business requirements and preferences tend to be informal, subjective, and difficult to quantify. The challenge in automating the business process composition is to properly formulate the descriptive and subjective requirements in quantifiable and objective specifications in machine-readable formats, suitable for automatic composition. Second, a single Web service is most likely inadequate to serve the customers' business needs; it takes a selection of various Web services composed together to form a business process. The challenge is to select the services that not only satisfy the individual requirements but also best fit the overall composed business process. Therefore, the entire business process needs to be optimized prior to execution.
A paper by B. Benatallah, et al., “Towards Patterns of Web Services Composition” (University of New South Wales, UNSW-CSE-TR-0111; ftp://ftp.cse.unsw.edu.au/pub/doc/papers/UNSW/0111.ps.Z, November 2001) presents patterns for bilateral service-based interactions, multilateral service composition, and execution of composite services both in a centralized and in a fully distributed environment. But it lacks the customers' requirements representation and efficient search mechanism to perform dynamic service composition. A paper by Shankar R. Ponnekanti, Armando Fox, “SWORD: A Developer Toolkit for Building Composite Web Services” (Stanford University, 2002) addresses a particular subset of automatic or semi-automatic composition of existing Web services. The toolkit, SWORD, is a set of tools for the composition of a class of Web services including “information-providing” services. It focuses on information integration using its own service model rather than the discovery based dynamic Web services composition.
The Service Community proposed in Boualem Benatallah et al., “Declarative Composition and Peer-to-Peer Provisioning of Dynamic Web Services” (IEEE ICDE 2002), herafter “Benattalah 2002”, defines a set of interfaces to enforce service providers to implement the full or partial interface. Our concept of Web services cluster refers to a set of services that perform a specific task. It is task-oriented concept, which may have the same service interface or different service interface. Further, there are no requirements used in Benatallah 2002 during the composition process. Therefore, the constructed business process may not the optimal one. A fuzzy querying technology is used to perform video server selection (see Patrick Bosc, Ernesto Damiani, Mariagrazia Fugini, “Fuzzy Service Selection” in 25 A Distributed Object-Oriented Environment, IEEE Transactions on Fuzzy Systems, vol. 9, No. 5, October 2001, pp. 682–698). It is not a generic Web services selection solution for business process composition.
In this disclosure, an “individual Web Service” refers to a simple Web Service described in a WSDL whereas a “composite Web Service” refers to as a set of Web services that are described in a Web service execution language, such as defined by major e-business companies, i.e. Business Process Execution Language for Web Services (BPEL), WSFL and XLANG.
Again, the challenging issues of dynamically configuring a new business process using existing Web services are as follows:                Lack uniform representation to capture business requirements, preferences; Web services features, event-action mapping as well as the relationships among Web services.        Lack an automated mechanism to generate search script to dynamically discover appropriate Web services for performing a specific task from UDDI registries populated with Web services records.        Lack seamless integration mechanism for template based business process flow composition and event-driven business process flow composition        Lack effective service selection mechanism to automatically construct an optimal business process using available Web services.        Lack efficient tooling to support dynamic adaptation of Web services flow to different modeling languages (e.g. BPEL, WSFL, FDML).        